home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-06-16 | 4.2 KB | 119 lines | [TEXT/CWIE] |
- // ******************************************************************
- // program written by
- // Paul Baxter
- // MacHack'98
- //
- // ******************************************************************
- #define kStartSpeed 40 // pixels per MoveWindow
- #define kMinSpeed 20
- #define kMinBounces 3 // number of bounces
- #define kMaxBounces 8
- #define kMinSpeedMultiPlier 1 // speed increase for each bounce
- #define kMaxSpeedMultiplier 2
- #define kDirectionChangeLow 0 // initial direction
- #define kDirectionChangeHi 1000
- #define kDirectionThreshHold 500 // chance for negative direction
- #define kStepsBack 3 // Frames to return to orignal position
-
- #define kPatchType68K 'PT68'
- #define kPatchTypePPC 'PTPP'
- #define kPatchSigniture '_-_-' // not too many people use this as a window refcon
-
-
- // Here are the very ugly RoutineDescriptors
- #ifdef powerc
- // SoundPlayer
- enum {
- PlaySoundUPPProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(kNoByteCode))
- };
- typedef UniversalProcPtr PlaySoundUPP;
-
- #define NEW_PLAYSOUNDPROC(proc) (PlaySoundUPP) \
- NewRoutineDescriptor((ProcPtr)(proc), PlaySoundUPPProcInfo, GetCurrentArchitecture())
-
- #define NEW_68KPLAYSOUNDPROC(proc) (PlaySoundUPP) \
- NewRoutineDescriptor((ProcPtr)(proc), PlaySoundUPPProcInfo, kM68kISA)
-
- #define CALL_SOUNDPROC(proc) (PlaySoundUPP) \
- CallUniversalProc((UniversalProcPtr) (proc), PlaySoundUPPProcInfo)
-
- // Patch Installer
- enum {
- PatchInstallerUPPProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(ProcPtr)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(PlaySoundUPP)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(PlaySoundUPP)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(short)))
- };
- typedef UniversalProcPtr PatchInstallerUPP;
-
- #define NEW_PATCH_INSTALLER_PROC(proc) (PatchInstallerUPP) \
- NewRoutineDescriptor((ProcPtr)(proc), PatchInstallerUPPProcInfo, GetCurrentArchitecture())
-
- #define NEW_68K_PATCH_INSTALLER_PROC(proc) (PatchInstallerUPP) \
- NewRoutineDescriptor((ProcPtr)(proc), PatchInstallerUPPProcInfo, kM68kISA)
-
- #define CALL_PATCH_INSTALLER_PROC(proc, p1, p2, p3, p4) \
- CallUniversalProc((UniversalProcPtr) (proc) , PatchInstallerUPPProcInfo, p1, p2, p3, p4)
-
- // Sound Installer
- enum {
- SoundInstallerUPPProcInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(PlaySoundUPP)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(short)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(short*)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(SndListHandle*)))
- };
- typedef UniversalProcPtr SoundInstallerUPP;
-
- #define NEW_SOUND_INSTALLER_PROC(proc) (SoundInstallerUPP) \
- NewRoutineDescriptor((ProcPtr)(proc), SoundInstallerUPPProcInfo, GetCurrentArchitecture())
-
- #define NEW_68K_SOUND_INSTALLER_PROC(proc) (SoundInstallerUPP) \
- NewRoutineDescriptor((ProcPtr)(proc), SoundInstallerUPPProcInfo, kM68kISA)
-
- #define CALLSOUND_INSTALLER_PROC(proc, p1, p2, p3) \
- CallUniversalProc((UniversalProcPtr) (proc) , SoundInstallerUPPProcInfo, p1, p2, p3)
-
-
- #else
-
- // SoundPlayer
- enum {
- PlaySoundUPPProcInfo = 0
- };
- typedef pascal void (*PlaySoundPtr)(void);
- typedef PlaySoundPtr PlaySoundUPP;
-
- #define NEW_PLAYSOUNDPROC(proc) (PlaySoundUPP)(proc)
- #define NEW_68KPLAYSOUNDPROC(proc) (PlaySoundUPP)(proc)
-
- #define CALL_SOUNDPROC(proc) (* (PlaySoundPtr) (proc))()
-
- // Patch Installer
- enum {
- PatchInstallerUPPProcInfo = 0
- };
- typedef pascal ProcPtr (*PatchInstallerPtr)(PlaySoundUPP, PlaySoundUPP, short, short);
- typedef PatchInstallerPtr PatchInstallerUPP;
- #define NEW_PATCH_INSTALLER_PROC(proc) (PatchInstallerUPP)(proc)
- #define NEW_68K_PATCH_INSTALLER_PROC(proc) (PatchInstallerUPP)(proc)
- #define CALL_PATCH_INSTALLER_PROC(proc, p1, p2, p3, p4) (*(PatchInstallerPtr)(proc))(p1, p2, p3, p4)
-
- // Sound Installer
- enum {
- SoundInstallerUPPProcInfo = 0
- };
- typedef pascal PlaySoundUPP (*SoundInstallerPtr)(short, short*, SndListHandle*);
- typedef SoundInstallerPtr SoundInstallerUPP;
-
- #define NEW_SOUND_INSTALLER_PROC(proc) (SoundInstallerUPP)(proc)
- #define NEW_68K_SOUND_INSTALLER_PROC(proc) (SoundInstallerUPP)(proc)
- #define CALL_SOUND_INSTALLER_PROC(proc, p1, p2, p3) (*(SoundInstallerPtr)(proc))(p1, p2, p3)
-
- #endif
-
- extern PlaySoundUPP gSoundPlayer;
-